/*******************************************************************************
 * Copyright (c) 2000, 2003 FUJITSU LIMITED and others.
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v10.html
 * 
 * Contributors:
 *     FUJITSU LIMITED - initial implementation
 *******************************************************************************/

package org.eclipse.cobol.ui.common;

public class COBOLKeywordAnsi74
{

	public static String getName()
	{
		return "ANSI 1974";
	}

	public static String[] getReservedWords()
	{
		return RESERVED_WORDS;
	}

	public static String[] getFigurativeConstants()
	{
		return FIGURATIVE_CONSTANTS;
	}

	public static String[] getSpecialRegisters()
	{
		return SPECIAL_REGISTERS;
	}

	private static final String[] FIGURATIVE_CONSTANTS =
	{ "ALL", "LOW-VALUE", "LOW-VALUES", "HIGH-VALUE", "HIGH-VALUES", "SPACE", "SPACES", "QUOTE", "QUOTES", "ZERO",
			"ZEROS", "ZEROES" };

	private static final String[] SPECIAL_REGISTERS =
	{ "LINAGE-COUNTER", "LINE-COUNTER", "PAGE-COUNTER" };

	private static final String[] RESERVED_WORDS =
	{ "ACCEPT", "ACCESS", "ADD", "ADVANCING", "AFTER", "ALL", "ALPHABETIC", "ALSO", "ALTER", "ALTERNATE", "AND", "ARE",
			"AREA", "AREAS", "ASCENDING", "ASSIGN", "AT", "AUTHOR", "BEFORE", "BLANK", "BLOCK", "BOTTOM", "BY", "CALL",
			"CANCEL", "CD", "CF", "CH", "CHARACTER", "CHARACTERS", "CLOCK-UNITS", "CLOSE", "COBOL", "CODE", "CODE-SET",
			"COLLATING", "COLUMN", "COMMA", "COMMUNICATION", "COMP", "COMPUTATIONAL", "COMPUTE", "CONFIGURATION",
			"CONTAINS", "CONTROL", "CONTROLS", "COPY", "CORR", "CORRESPONDING", "COUNT", "CURRENCY", "DATA", "DATE",
			"DATE-COMPILED", "DATE-WRITTEN", "DAY", "DE", "DEBUG-CONTENTS", "DEBUG-ITEM", "DEBUG-LINE", "DEBUG-NAME",
			"DEBUG-SUB-1", "DEBUG-SUB-2", "DEBUG-SUB-3", "DEBUGGING", "DECIMAL-POINT", "DECLARATIVES", "DELETE",
			"DELIMITED", "DELIMITER", "DEPENDING", "DESCENDING", "DESTINATION", "DETAIL", "DISABLE", "DISPLAY",
			"DIVIDE", "DIVISION", "DOWN", "DUPLICATES", "DYNAMIC", "EGI", "ELSE", "EMI", "ENABLE", "END",
			"END-OF-PAGE", "ENTER", "ENVIRONMENT", "EOP", "EQUAL", "ERROR", "ESI", "EVERY", "EXCEPTION", "EXIT",
			"EXTEND", "FD", "FILE", "FILE-CONTROL", "FILLER", "FINAL", "FIRST", "FOOTING", "FOR", "FROM", "GENERATE",
			"GIVING", "GO", "GREATER", "GROUP", "HEADING", "HIGH-VALUE", "HIGH-VALUES", "I-O", "I-O-CONTROL",
			"IDENTIFICATION", "IF", "IN", "INDEX", "INDEXED", "INDICATE", "INITIAL", "INITIATE", "INPUT",
			"INPUT-OUTPUT", "INSPECT", "INSTALLATION", "INTO", "INVALID", "IS", "JUST", "JUSTIFIED", "KEY", "LABEL",
			"LAST", "LEADING", "LEFT", "LENGTH", "LESS", "LIMIT", "LIMITS", "LINAGE", "LINAGE-COUNTER", "LINE",
			"LINE-COUNTER", "LINES", "LINKAGE", "LOCK", "LOW-VALUE", "LOW-VALUES", "MEMORY", "MERGE", "MESSAGE",
			"MODE", "MODULES", "MOVE", "MULTIPLE", "MULTIPLY", "NATIVE", "NEGATIVE", "NEXT", "NO", "NOT", "NUMBER",
			"NUMERIC", "OBJECT-COMPUTER", "OCCURS", "OF", "OFF", "OMITTED", "ON", "OPEN", "OPTIONAL", "OR",
			"ORGANIZATION", "OUTPUT", "OVERFLOW", "PAGE", "PAGE-COUNTER", "PERFORM", "PF", "PH", "PIC", "PICTURE",
			"PLUS", "POINTER", "POSITION", "POSITIVE", "PRINTING", "PROCEDURE", "PROCEDURES", "PROCEED", "PROGRAM",
			"PROGRAM-ID", "QUEUE", "QUOTE", "QUOTES", "RANDOM", "RD", "READ", "RECEIVE", "RECORD", "RECORDS",
			"REDEFINES", "REEL", "REFERENCES", "RELATIVE", "RELEASE", "REMAINDER", "REMOVAL", "RENAMES", "REPLACING",
			"REPORT", "REPORTING", "REPORTS", "RERUN", "RESERVE", "RESET", "RETURN", "REVERSED", "REWIND", "REWRITE",
			"RF", "RH", "RIGHT", "ROUNDED", "RUN", "SAME", "SD", "SEARCH", "SECTION", "SECURITY", "SEGMENT",
			"SEGMENT-LIMIT", "SELECT", "SEND", "SENTENCE", "SEPARATE", "SEQUENCE", "SEQUENTIAL", "SET", "SIGN", "SIZE",
			"SORT", "SORT-MERGE", "SOURCE", "SOURCE-COMPUTER", "SPACE", "SPACES", "SPECIAL-NAMES", "STANDARD",
			"STANDARD-1", "START", "STATUS", "STOP", "STRING", "SUB-QUEUE-1", "SUB-QUEUE-2", "SUB-QUEUE-3", "SUBTRACT",
			"SUM", "SUPPRESS", "SYMBOLIC", "SYNC", "SYNCHRONIZED", "TABLE", "TALLYING", "TAPE", "TERMINAL",
			"TERMINATE", "TEXT", "THAN", "THROUGH", "THRU", "TIME", "TIMES", "TO", "TOP", "TRAILING", "TYPE", "UNIT",
			"UNSTRING", "UNTIL", "UP", "UPON", "USAGE", "USE", "USING", "VALUE", "VALUES", "VARYING", "WHEN", "WITH",
			"WORDS", "WORKING-STORAGE", "WRITE", "ZERO", "ZEROES", "ZEROS" };
}
